﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MODELO;
using SERVICIOS.Enumeraciones;

namespace SERVICIOS
{
    public class Seguridad
    {
        #region ISeguridad Members

        public static bool CanExecuteAbrirFormulario(int idUsuario, string formulario)
        {
            var rta = 
                CanExecuteAccionFormulario(idUsuario, formulario, Acciones.Full) || 
                CanExecuteAccionFormulario(idUsuario, formulario, Acciones.Lectura) || 
                CanExecuteAccionFormulario(idUsuario, formulario, Acciones.Exportación) ||
                CanExecuteAccionFormulario(idUsuario, formulario, Acciones.Impresión) ;

            return rta;
        }

        internal static bool CanExecuteAccionFormulario(int idUsuario, string formulario, int idAccion)
        {
            return true;
            var adapter = new MODELO.dtsPermisosSeguridadTableAdapters.QueriesTableAdapter();
            Boolean? permisoCorrecto = null;
            adapter.tb_ObtenerPermiso(idUsuario, formulario, idAccion, ref permisoCorrecto);
            return permisoCorrecto.Value;
        }

        public static bool CanExecuteAbrirFormulario(int idUsuario, Type formulario)
        {
            return CanExecuteAbrirFormulario(idUsuario, formulario.FullName);
        }

        public static bool CanExecuteAccionFormulario(int idUsuario, Type formulario, int accion)
        {
            return CanExecuteAccionFormulario(idUsuario, formulario.FullName, accion) ||
                   CanExecuteAccionFormulario(idUsuario, formulario.FullName, Acciones.Full);
        }

        #endregion
    }
}
